#ifndef CHAINE_ENTREE_H
#define CHAINE_ENTREE_H

	#include "entree.h"

	/*pile sous forme de chaine*/
	typedef struct chaineEntreeNode {entree valeur; struct chaineEntreeNode * next;} * pChaineEntreeNode;

	//renvoie 1 si la chaine en parametre est égale à null (vide), 0 sinon
	int chaineEntreeEstNull (pChaineEntreeNode chaine);
	//renvoie le maillon suivant de la chaine
	pChaineEntreeNode nextChaineEntreeNode(pChaineEntreeNode node);
	//renvoie la valeur du maillon courant de la chaine
	entree valeurChaineEntreeNode(pChaineEntreeNode node);
	//renvoie un nouveau maillon
	pChaineEntreeNode nouveauChaineEntreeNode (entree valeur);
	//renvoie la chaine après ajout en tete de chaine d'un nouveau maillon contenant la valeur en paramètre
	pChaineEntreeNode ajoutChaineEntreeNodeDebut(entree valeur, pChaineEntreeNode chaine);
	//renvoie la chaine après suppression du maillon de tete
	pChaineEntreeNode suppressionChaineEntreeDebut (pChaineEntreeNode chaine);
	//affiche la chaine
	void afficheChaineEntree (pChaineEntreeNode chaine);

#endif
